package com.dd.mapper;

import com.dd.model.Delivery;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 配送信息Mapper接口
 */
public interface DeliveryMapper {
    
    /**
     * 查询所有配送信息
     */
    List<Delivery> findAll();
    
    /**
     * 根据ID查询配送信息
     */
    Delivery findById(@Param("deliveryId") Integer deliveryId);
    
    /**
     * 根据订单ID查询配送信息
     */
    Delivery findByOrderId(@Param("orderId") Integer orderId);
    
    /**
     * 根据配送状态查询配送信息
     */
    List<Delivery> findByStatus(@Param("status") String status);
    
    /**
     * 添加配送信息
     */
    int insert(Delivery delivery);
    
    /**
     * 更新配送信息
     */
    int update(Delivery delivery);
    
    /**
     * 更新配送状态
     */
    int updateStatus(@Param("deliveryId") Integer deliveryId, @Param("status") String status);
    
    /**
     * 删除配送信息
     */
    int deleteById(@Param("deliveryId") Integer deliveryId);
    
    /**
     * 删除订单的配送信息
     */
    int deleteByOrderId(@Param("orderId") Integer orderId);

    /**
     * 删除订单的配送信息
     */
    boolean deleteDeliveryByOrderId(Integer orderId);
}